package com.shamar.blog.service;

import com.shamar.blog.dto.BlogUserExecution;
import com.shamar.blog.dto.UserEmailExecution;
import com.shamar.blog.entity.BlogUser;
import com.shamar.blog.entity.UserEmail;
import com.shamar.blog.exceptions.BlogUserOperationException;

import java.io.InputStream;

public interface BlogUserService {
	/**
	 * 根据blogUserCondition查询用户(用户列表)
	 * @param blogUserCondition
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	BlogUserExecution getBlogUserList(BlogUser blogUserCondition, int pageIndex, int pageSize);
	/**
	 * 根据blogUserCondition查询用户(用户列表)
	 * @param blogUserCondition
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	BlogUserExecution getBlogUserByCondition(BlogUser blogUserCondition, int pageIndex, int pageSize);

	/**
	 * 根据传入的BlogUser实体更新相应的记录
	 * @param blogUser
	 * @return
	 */
	Integer updateBlogUser(BlogUser blogUser);

	BlogUserExecution addBlogUser(BlogUser blogUser, InputStream blogUserImgInputStream, String fileName) throws BlogUserOperationException;

	UserEmailExecution getUserEmailByCondition(UserEmail userEmailCondition);

	UserEmailExecution addUserEmail(UserEmail userEmail);

	Integer deleteUserEmail(UserEmail userEmail);


}
